// 权限vuex，动态显示路由

import { constantRoutes, asyncRoutes } from '@/router'
export default {
  namespaced: true,
  state: {
    // 存放静态和动态的路由,（再页面显示）
    routes: constantRoutes // 默认静态路由表
  },
  mutations: {
    addRouters(state, otherRoutes) {
      // 静态路由基础上, 累加其他动态权限路由
      state.routes = [...constantRoutes, ...otherRoutes]
    }
  },
  actions: {
    filterRoutes(context, menus) {
      // 过滤动态路由asyncRoutes
      // 路由的name需要在个人信息中的menus是否存在，存在就保留
      const otherRouter = asyncRoutes.filter(item => {
        return menus.includes(item.children[0].name)
      })
      context.commit('addRouters', otherRouter)
      return otherRouter
    }
  },
  getters: {}
}
